Очень часто при подготовке к соревнованиям по пауэрлифтингу или в процессе любительских тренировок полезно (а иногда и необходимо) оценить свои текущие возможности, не делая “проходку”, так как “проходка” оказывает сильное воздействие на нервную систему, её нежелательно делать часто и к ней нужно сначала подготавливаться, затем от неё отдыхать (чтобы суметь мобилизовать больше ресурсов и уменьшить риск травм), что занимает много времени и сил — и всё ради того, чтобы просто узнать, какой именно вес ты способен пожать, присесть или потянуть. Гораздо разумнее было бы оценить эти величины (повторные максимумы, ПМ), основываясь на результатах, которые ты показывал совсем недавно в процессе обычных тренировок. Кроме того, если удастся построить такую модель, способную оценить силу человека, исходя из его последних достижений, можно будет сделать более явной связь между тренировками и реальными результатами, предотвращая перетренированность и временные потери на тренировки по программам, не дающим эффекта.
Итак. Зачем это нужно? Построенная модель поможет:
адекватно оценить свои возможности перед соревнованиями и заказать веса, очень близкие к реальному максимуму; кроме того, знать свой ПМ, не делая проходку, очень важно не только для тех, кто занимается пауэрлифтингом (см. статью);
в период подготовки оценивать скорость своего прогресса (или вообще его наличие), предотвращая перетренированность; сравнивать свои результаты с результатами предыдущих циклов, даже если тогда использовалось другое число повторений;
более обоснованно планировать программу тренировок: пытаясь чередовать разные упражнения и разные диапазоны повторений, легко сделать программу, которая на самом деле не будет давать значимого эффекта или потребует неподъёмных усилий;
обосновать действенность разных методик и выразить различия между ними (этому посвящён последний раздел статьи);
выявить математические закономерности в силовых показателях человека.
К сожалению, многие люди отнеслись к этому исследованию очень скептически, поскольку уверены, что здесь имеется слишком сложная зависимость, чтобы её можно было описывать; другие утвержали, что знание такой информации принесёт больше вреда, чем пользы, если спортсмен не имеет большого опыта или не тренируется с тренером. Во многом они правы, но на самом деле, как я считаю, такое мнение обусловлено достаточно большим количеством разных калькуляторов и формул в Интернете, которые дают разные результаты и не ясно на чём основываются (на каких формулах и откуда полученных). В том числе:
формула Лилли, с которой началось исследование. За месяц я так и не получил ответа от руководства сайта Juggernaut, откуда взялась эта формула (чуть позже я выяснил, что это округлённая формула Вендлера);
калькулятор на (весьма хорошем) сайте Symmetric Strength. Аналогичная ситуация;
формулы Мориса и Райдина, которые, как позже будет показано, нерабочие и, скорее всего, получены из слишком маленьких выборок;
формулы О Коннора, Бжицки (Бржыки), Лэндера и другие;
так же этот калькулятор, этот, этот и разные клоны одних и тех же калькуляторов.
Цель же этой статьи – предоставить формулу, полученную в согласовании с концепциями машинного обучения, которая будет хорошо работать на многих людях, а не на десяти.
Для сбора наблюдений был создан опрос в Google Forms на русском языке и его англоязычный аналог.
Русскоязычный опрос распространялся через соц. сеть ВКонтакте преимущественно в следующих группах: Пауэрлифтинг | Тяжелая атлетика, Я ♥ ПАУЭРЛИФТИНГ, ПАУЭРЛИФТИНГ И ЖИМ ЛЁЖА 18+, Твой Тренер; аналогично англоязычный опрос распространялся на Facebook преимущественно здесь: Powerlifting Motivation, International Powerlifting League (IPL), Powerlifting Motivation Chat, Powerlifting Memes. Кроме того, несколько наблюдений я собрал лично.
Спустя два месяца от создания опросов данные были выгружены и началась их обработка. Теперь эти данные и всё, связанное с ними (в том числе последняя версия этого документа), хранятся в моём репозитории.
Для обработки данных и создания отчёта использовалась среда RStudio и язык R версии 3.6.3.
В книге “Система тренировок КУБ” на странице 23 (34 в оригинальной версии) приводится формула для определения повторного максимума: \[предполагаемый\ повторный\ максимум = вес * (1 + 0.0333 * повторения),\] где берётся некоторый рабочий вес и максимально возможное число повторений с ним. В оригинальных обозначениях (которые далее будут использоваться для удобства): \[RM=WEIGHT \cdot (1+0.0333\cdot REPS).\]
Например, если вы можете пожать 100 кг на 5 раз, то из этой формулы следует, что вы сможете пожать 115 на раз и 90 на 9 раз.
К слову, примерно такая модель с некоторыми поправками на диапазон повторений используется на сайте Symmetric Strength. Там максимально возможное количество повторений равно 10.
Лично на мне эта формула хорошо работает и мне захотелось уточнить её для других людей разной комплекции и уровня подготовки. Также интересно то, что здесь имеется, по сути, очень простая линейная модель с двумя предикторами: рабочим весом и взаимодействием рабочего веса с числом повторений, и нет зависимости от самого упражнения, опыта человека и других характеристик, то есть в перспективе возможно с большой точностью описать наши возможности одной простой формулой, и это будет верно почти для всех людей, невзирая на все различия между ними.
Сила человека в одном повторении зависит от пяти составляющих:
Количество миофибрилл в мышечном волокне. Чем их больше, тем большую силу может развить волокно.
Запасы АТФ и креатинфосфата и уровень ферментации, поддерживающий быстрое преобразование креатинфосфата в АТФ. Если эти запасы малы, спортсмен не сможет поддерживать максимальное усилие нужные несколько секунд. Сам по себе уровень ферментации можно не учитывать, поскольку после нескольких минут разминки он становится достаточно высоким.
Соотношение красных и белых мышечных волокон в работающей мышце: чем больше белых волокон, тем большую силу способна развить мышца на короткий промежуток времени. Это соотношение является разным для разных мышц и разных людей (определяется генетикой) и, как пока считается, плохо поддаётся коррекции1.
Количество вовлечённых в работу волокон. Чем их больше, тем больше сила мышцы. Количество задействованных волокон зависит от импульса ЦНС и порога действия органов Гольджи: чем сильнее импульс, тем больше волокон может вовлечься в работу, однако импульсы выше некоторого порога подавляются органами Гольджи, чтобы человек не мог сознательно применить силу, способную привести к разрыву сухожилий. Тренировки с субмаксимальными и запредельными весами способны воздействовать как на способность генерировать импульс, так и на порог его подавления.
Естественные рычаги человека и техника выполнения упражнения. У каждого человека есть свои рычаги, дающие ему преимущества в тех или иных типах движений. Кроме того, можно откорректировать технику выполнения упражнения так, что амплитуда движения уменьшится в несколько раз, вдобавок при движении основную работу будут выполнять наиболее сильные пучки мышц.
Подытожив, можно сказать, что сила спортсмена зависит от генетики (в плане соотношения мышечных волокон и т. п.), опыта тренировок (чем больше опыт, тем больше может быть как импульс ЦНС, так и порог его подавления, так и запасы креатинфосфата и т. п.) и конституции (типа телосложения, роста как такового, соотношения роста и функционального веса). Сама техника упражнений учитываться не будет.
Гипотеза исследования состоит в том, что одноповторный максимум можно с небольшими ошибками предсказать через многоповторный при помощи модели вида
\[RM=WEIGHT \cdot (x+y\cdot REPS)+f(WEIGHT,HEIGHT,WEIGHT_{own})+\varepsilon\] с поправками на телосложение, опыт тренировок и диапазон повторений. Здесь \(x, y\) – некоторые числа, \(f\) – функция, которую ещё придётся подобрать, \(\varepsilon\) – ошибка, вносимая неучтёнными факторами. При этом предполагается, что искомая зависимость очень близка к линейной, то есть первое слагаемое вносит основной вклад в сумму; это объясняется тем, что интуитивно ясно логическое заключение: из \(50*6 \approx 60\) (вес 50 на 6 раз примерно значит 60 на раз) должно следовать \(100*6 \approx 120\) с, возможно, небольшими поправками (до 10%) на другие факторы (функция \(f\)). С другой стороны, формула должна быть верна независимо от того, указывается вес в килограммах или фунтах.
Поправка на диапазон повторений имеет следующие соображения. Ввиду физиологии в разных диапазонах повторений проявляются разные мышечные способности, не все из которых тесно связаны с целевыми мышечными качествами – абсолютной силой и мощностью. Почти очевидно, что сила человека в одном повторении хорошо коррелирует с силой в двух-пяти повторениях, но то, поднимет ли человек указанный вес на 12 раз или на 20, зависит от его силовой выносливости, которая не вносит большого вклада при работе на одно повторение. Если не вдаваться в подробности, это объясняется тем, что в малом числе повторений основную роль играют запасы креатинфосфата и АТФ, ферментация, напряжение нервоного импульса, количество задействованных белых волокон и их сечение, а в большом числе повторений (больше 10-15) существенную роль играет тренированность красных волокон и способность мышц быстро утилизировать продукт метаболических реакций.
Согласно Хетфилду, сила развивается исключительно при работе с весами не меньше 80% от ПМ и при этом спортсмены среднего уровня способны выполнить 10-15 повторений с 80% от своего ПМ; то, какой вес человек поднимает на более чем 15 раз, (предположительно) мало говорит о том, какой вес он способен взять на раз.
Кроме того, в статье Вадима Протасенко прослеживается такая идея: разное число повторений требует своего времени на выполнение, а в зависимости от времени работы мышцы включается свой режим энергообмена: примерно через 7 секунд работы запасы креатинфосфата израсходованы больше чем наполовину, алаклатный режим работы (за счёт креатина) завершается через 12 секунд, потом начинается гликолиз (за счёт гликогена), а через 30-60 секунд работы начинается окисление. При этом, если учитывать, что за 30 секунд обычно делается 10 повторений в жиме и 8 в приседе/тяге, можно сделать выводы, что чисто силовые качества проявляют себя (конечно, приблизительно) в первых пяти повторениях, а силовая выносливость заканчивает оказывать влияние на 15-м повторении; всё, что выше 15-20-ти повторений – вообще не имеет отношения к силе2.
К сожалению, планируемая модель априори не сможет идеально точно предсказывать результаты конкретных спортсменов. Существует также множество причин, почему модель, возможно, не выявит реальные закономерности в генеральной совокупности:
Опрос проводился почти полностью в Интернете, точность и честность ответов остаются на совести испытуемых. Быть может, кто-то грубо округлил свои данные или назвал данные, которые нельзя считать идентичными (например, разница между выявлением ПМ и МПМ составляла большой срок, отчего уже нельзя говорить, что исследуемые возможности принадлежат одному и тому же телу) либо не совсем понял целей опроса и назвал заниженные результаты (например, тяжёлый разминочный подход на 3 повторения, когда в действительности возможно сделать 5).
Через опрос невозможно выявить, предположительно, такие имеющие большое значение факторы как естественные рычаги, процент жира в организме (процент веса, который условно не имеет вклада в результаты), особенности техники и качества выполнения движений. По этой причине многие люди, которые в рамках опроса имеют идентичные параметры, могут иметь совершенно разные результаты, поскольку при одинаковом росте, весе и возрасте у одного больше функциональной массы, у другого ноги длиннее, один использовал бинты (дающие прибавку 5-15 кг и не считающиеся экипировкой), другой нет, один жал по всем правилам, другой в отбив и т. п.
Есть множество факторов, оказывающих большое влияние, трудно измеримых и при этом варьирующихся у одного и того же человека. Например, при одних и тех же мышцах человек может поднять один и тот же вес на 3 или 5 раз в зависимости от уровня креатинфосфата и психологического настроя; при следующей тренировке эти параметры могут быть уже значимо другими, отчего правила, хорошо работавшие недавно, перестанут хорошо работать сейчас.
В то же время имеются доводы в пользу модели:
ПМ предсказывается не только на основе роста или веса, но и на основе многоповторного максимума, то есть не многим меньшего веса и числа повторений с ним. Нельзя отрицать, что при каких-то условиях МПМ всё же содержит немалую информацию о ПМ.
Существует модель Брендона Лилли, которая приемлемо работает для многих спортсменов. Сам факт наличия такой модели говорит о том, что ПМ можно описать через МПМ в какой-то степени.
Можно долго рассуждать о том, будет работать модель или нет и почему, но для того и проводится исследование, чтобы найти математически обоснованный ответ.
Сперва будет произведён разведочных анализ собранных данных с целью выявить в них некоторые закономерности, подтвердить или опровергнуть некоторые простые гипотезы, обнаружить выбросы, принять решение о включении тех или иные факторов в модель.
После этого будет построена серия моделей, среди которых будет выбрана лучшая. По правилам машинного обучения лучшей моделью считается та, что даёт наименьшую ошибку при перекрёстной проверке и (согласно принципу бритвы Оккама) наиболее проста в объяснении.
В конце я опишу возможности применения полученной модели.
С помощью опроса было получено всего 174 достоверных наблюдений (исключая явные аномалии), принадлежащие предположительно 157 людям3; они содержатся в файле data(rus).tsv. После некоторых преобразований над переменными каждое наблюдение наблюдение содержит следующую информацию:
RM – собственно повторный максимум
MRM – многоповторный максимум
Count – количество повторений для многоповторного максимума
Action – движение для которого верны измерения (Жим, Тяга, Присед)
Sex – пол испытуемого
Experience – группа опыта (До двух лет, 2-3 года, 4-5 лет, 6-10 лет, больше 10 лет)
Age – возраст
Weight – собственный вес
Height – рост
BodyType – тип телосложения (Эктоморф, Мезоморф, Эндоморф). Типы телосложения в целом различаются скоростью обмена веществ и строением скелета, рычагами (хотя различия в строении скелета во многом являются следствием скорости обмена веществ)
Mail – электронная почта испытуемых, если указана (эту переменную нужно оставить для некоторых тонкостей)
CountGroup – группа по диапазону повторений (2-3, 4-6, 7-10, 11-20, >20)
AgeGroup – возрастная группа (<20, 20-27, 28-35, >35)
Index – индекс массы тела
IndexGroup – группа по индексу массы тела (выраженный дефицит, дефицит, норма, избыток, ожирение1, ожирение2, ожирение3)
Основные статистики по данным переменным:
## RM MRM Count Action Sex
## Min. : 20.0 Min. : 15.0 Min. : 2.000 Жим :124 Мужчина:165
## 1st Qu.:120.0 1st Qu.:100.0 1st Qu.: 3.000 Тяга : 26 Женщина: 9
## Median :147.5 Median :120.0 Median : 6.000 Присед: 24
## Mean :154.1 Mean :127.2 Mean : 8.144
## 3rd Qu.:190.0 3rd Qu.:150.0 3rd Qu.:10.000
## Max. :300.0 Max. :250.0 Max. :35.000
##
## Experience Age Weight Height
## До двух лет :31 Min. :15.00 Min. : 47.00 Min. :155.0
## 2-3 года :31 1st Qu.:21.00 1st Qu.: 78.00 1st Qu.:170.0
## 4-5 лет :47 Median :27.00 Median : 87.00 Median :177.0
## 6-10 лет :37 Mean :28.02 Mean : 89.61 Mean :176.9
## больше 10 лет:28 3rd Qu.:33.00 3rd Qu.:102.75 3rd Qu.:183.0
## Max. :62.00 Max. :160.00 Max. :198.0
##
## BodyType CountGroup AgeGroup Index IndexGroup
## Эктоморф:36 2-3 :47 <20 :31 Min. :18.83 выраженный дефицит: 0
## Мезоморф:52 4-6 :51 20-27:60 1st Qu.:25.20 дефицит : 0
## Эндоморф:86 7-10 :41 28-35:54 Median :27.77 норма :37
## 11-20:23 >35 :29 Mean :28.47 избыток :73
## >20 :12 3rd Qu.:31.41 ожирение1 :45
## Max. :45.27 ожирение2 :13
## ожирение3 : 6
Сама таблица data (отсортированная по некоторым столбцам):
Почти все испытуемые – мужчины, поэтому результаты, которые будут получены, не следует обобщать на женщин. Возможно даже, что позднее придётся удалить принадлежащие женщинам наблюдения из выборки, если окажется, что те сильно выделяются.
Среди испытуемый почти половину составляли эндоморфы:
и тест хи-квадрат говорит, что это отличие статистически значимо, то есть среди пауэрлифтеров эндоморфы встречаются чаще эктоморфов или мезоморфов:
##
## Chi-squared test for given probabilities
##
## data: data.unique %>% filter(Sex == "Мужчина") %>% select(BodyType) %>% table()
## X-squared = 16.282, df = 2, p-value = 0.0002914
Больше половины наблюдений относятся к жиму лёжа. Я думаю, это связано с тем, что большинство спортсменов предпочитают это упражнение двум другим, вдобавок на жиме лёжа относительно проще замерять МПМ и, скорее всего, многие из ответивших специализировались именно на жиме лёжа.
Распределение по другим факторам:
Распределение по индексу массы тела:
## IndexGroup
## BodyType выраженный дефицит дефицит норма избыток ожирение1 ожирение2
## Эктоморф 0 0 12 18 3 0
## Мезоморф 0 0 19 23 5 1
## Эндоморф 0 0 3 26 33 8
## IndexGroup
## BodyType ожирение3
## Эктоморф 0
## Мезоморф 0
## Эндоморф 6
Видно, что среди ответивших нет людей с дефицитом веса и немалая часть имеет нормальный вес, немалая – “избыток” (предположительно за счёт мышечной массы), но так называемое “ожирение1” (с большой вероятностью связанное с жировыми отложениями) у эндоморфов встречается чаще, чем в других телосложениях. Это подтверждает тест пропорций:
tb = data.unique %>% mutate(Obees = ifelse(IndexGroup == "ожирение1", "да", "нет")) %>%
select(Obees, BodyType) %>% table()
tb %>% t() %>% prop.test() #для всех
##
## 3-sample test for equality of proportions without continuity
## correction
##
## data: .
## X-squared = 22.884, df = 2, p-value = 1.073e-05
## alternative hypothesis: two.sided
## sample estimates:
## prop 1 prop 2 prop 3
## 0.09090909 0.10416667 0.43421053
data.unique %>% mutate(Obees = ifelse(IndexGroup == "ожирение1", "да", "нет"), Bd = ifelse(BodyType ==
"Эндоморф", 1, 0)) %>% select(Obees, Bd) %>% table() %>% t() %>% prop.test() # eсли разделить на эндоморфов и всех остальных
##
## 2-sample test for equality of proportions with continuity correction
##
## data: .
## X-squared = 21.161, df = 1, p-value = 4.223e-06
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.4771890 -0.1937011
## sample estimates:
## prop 1 prop 2
## 0.09876543 0.43421053
Иллюстрация некоторых парных взаимодействий:
Корреляции количественных переменных:
Зависимость повторного максимума от индекса массы тела:
Оценка коэффициента простой модели в зависимости от числа повторений:
Из следующего графика может следовать, что начиная с 8-9 повторений зависимость между МПМ и ПМ ослабевает: Либо здесь имеется проблема с данными, так как на 9-м повторении корреляция резко уменьшается:
## Корреляция MRM & RM для каждого повторения:
## 2 repeats 3 repeats 4 repeats 5 repeats 6 repeats 7 repeats 8 repeats
## 0.9980117 0.9919420 0.9947569 0.9891096 0.9942644 0.9936119 0.9964144
## 9 repeats 10 repeats
## 0.9581086 0.9890079
Есть ли разница в этих процентах для разных движений или телосложений? Дисперсионный анализ показывает, что нет (все p-значения больше 0.05):
## p-значения для телосложений:
## 2 repeats 3 repeats 4 repeats 5 repeats 6 repeats 7 repeats 8 repeats
## 0.94587697 0.89561758 0.99853641 0.34271425 0.72696295 0.82046828 0.62487549
## 9 repeats 10 repeats
## 0.25649394 0.08783301
## p-значения для типа движения:
## 2 repeats 3 repeats 4 repeats 5 repeats 6 repeats
## 0.7730952 0.1384093 0.2794190 0.9919357 0.2637337
## p-значения для групп по индексу массы:
## 2 repeats 3 repeats 4 repeats 5 repeats 6 repeats 7 repeats 8 repeats
## 0.8959581 0.2062476 0.8345974 0.5228145 0.3154734 0.9085377 0.7177698
## 9 repeats 10 repeats
## 0.4490970 0.7676728
Применим тест Стьюдента для определения предсказываемых процентов и доверительных интервалов для них:
df = data %>% mutate(perc = 100 * MRM/RM) %>% filter((Count <= 12 & Count%%2 == 0) |
Count == 15 | Count == 20) %>% group_by(factor(Count)) %>% summarise(mean = t.test(perc,
conf.level = 0.99)$estimate, down = t.test(perc, conf.level = 0.99)$conf.int[1],
up = t.test(perc, conf.level = 0.99)$conf.int[2])
names(df) = c("Число повторений", "Ожидаемый %", "Нижняя граница", "Верхняя граница")
df
В целом эти данные согласуются с тем, что используются National Strength and Conditioning Association (NSCA):
Хотя есть и отличия: вес на 2 повторения скорее равен 94% от максимума, а не 95%, а вес на 12 повторений – это скорее 70% от максимума, а не 67%.
Теперь посмотрим на зависимость повторного максимума от многоповторного:
Очевидно, что здесь будет близкая к линейной зависимость (учитывая высокую корреляцию). Оказывается, если предварительно разбить наблюдения на группы по повторениями, линейность станет намного более выраженной для числа повторений не больше 10 (для большего числа повторений не прослеживается явной линейности либо из-за недостатка данных, либо по физиологическим причинам, озвученным ранее; для диапазона 11-20 возможна квадратичная зависимость):
Сказанное выше значит, что для каждого диапазона повторений нужен отдельный анализ.
Есть ли зависимость между отношением \(\frac{RM}{MRM}\) в зависимости от опыта тренировок и других факторов? Дисперсионный анализ показывает, что в целом нет:
# есть ли значимые различия в разных возрастных группах для фиксированного
# диапазона
cat("p-значения в зависимости от опыта: \n")
## p-значения в зависимости от опыта:
(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ Experience, data %>% filter(CountGroup ==
x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]))
## 2-3 4-6 7-10 11-20 >20
## 0.6506219 0.6178563 0.1237067 0.7293524 0.8249503
cat("p-значения в зависимости от возрастной группы: \n")
## p-значения в зависимости от возрастной группы:
(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ AgeGroup, data %>% filter(CountGroup ==
x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]))
## 2-3 4-6 7-10 11-20 >20
## 0.76719615 0.69074575 0.84073363 0.03543515 0.59017041
cat("p-значения в зависимости от индекса массы тела: \n")
## p-значения в зависимости от индекса массы тела:
(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ IndexGroup, data %>% filter(CountGroup ==
x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]))
## 2-3 4-6 7-10 11-20 >20
## 0.55163027 0.66557317 0.89697945 0.03040709 0.25112986
cat("p-значения в зависимости от типа телосложения: \n")
## p-значения в зависимости от типа телосложения:
(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ BodyType, data %>% filter(CountGroup ==
x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]))
## 2-3 4-6 7-10 11-20 >20
## 0.7779869 0.5432097 0.3628399 0.6845562 0.3736225
Единственное: обнаружилась разница в зависимости от возраста и индекса массы тела для диапазона повторений 11-20. Возможно, это связано с тем, что в целом с увеличением возраста увеличивается уровень подготовки, отчего на более чем 10 раз удаётся поднимать больший процент от максимального веса.
Кроме того, возможна разница между самими упражнениями:
cat("p-значения в зависимости от типа телосложения: \n")
## p-значения в зависимости от типа телосложения:
(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ Action, data %>% filter(CountGroup ==
x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]))
## 2-3 4-6 7-10 11-20 >20
## 0.063674230 0.275192221 0.006813514 0.763742402 0.108479481
ggplot(data %>% filter(Count <= 20), aes(x = Action, y = RM/MRM)) + geom_boxplot() +
facet_grid(vars(CountGroup)) + theme_bw() + labs(x = "Движение") + coord_flip()
Дополнительные закономерности:
Часто при сборе данных возникают ненормальные наблюдения, полученные из-за опечаток или недопониманий. В этот раз таких наблюдей накопилось около 10%. Если поразмыслить над их причинностью, то чаще всего человек забывал поставить цифру “1” перед числом, в результате вместо роста 175 получался рост 75 и т. п.
В то же время могло быть и так, что испытуемый неверно понял суть эксперимента и в анкете описывал просто подход, который был выполнен, а не подход для многоповторного максимума, либо при проходке использовал экипировку или другую технику упражнения, либо, опять же, опечатался; в итоге жим 170х5 оказывался равным 220, хотя ясно, что тут должны стоять 170х5 и 200 либо 170х15 и 220.
С такими выбросами можно сделать только две вещи:
В итоге многие данные были исправлены на более вероятный вариант, а явные непонятные аномалии были удалены из выборки. В файле с исходными данными содержатся комментарии, где и что я исправил и почему.
Перед построением модели из обучающей выборки заранее были исключены следующие наблюдения:
некоторые выбросы, в том числе несколько наблюдений, которые изначально не вписывались в модель и по логике очень сомнительны; речь идёт о наблюдениях типа \(120*3=140\), хотя интуитивно понятно, что 140 – это как минимум 120 на 5; возможно, подход 120 на 3 был сделан в достаточно отдалённый от проходки период либо во время проходки в качестве разминочного, то есть его нельзя считать многоповторным максимумом, эквивалентным повторному максимуму; конечно, здесь может играть роль какой-то особый случай4, который является выбросом (потому должен быть исключён) либо не может быть выявлен по тому набору признаков, которые доступны в нашем случае;
наблюдения с числом повторений больше 20, так как сама идея предсказать 1ПМ по, например, 30 ПМ – абсурдна, поскольку здесь имеют место в корне разные нагрузки, задействуются разные типы мышечных волокон и имеет место разный энергетический обмен; по этой причине использование таких данных при создании моделей приводит к искажениям, а для самих этих наблюдений модель предсказывает лишь какую-то нижнюю границу 1ПМ, в чём нет смысла5; вдобавок, для таких предсказаний сложнее определить аномальные наблюдения в смысле предыдущего пункта; кроме того, даже на графиках видно, что диапазон выше 20 очень сильно отличается от остальных диапазонов.
Как итог, теперь для данных верны следующие статистики:
## RM MRM Count Action Sex
## Min. : 20.0 Min. : 15 Min. : 2.000 Жим :116 Мужчина:153
## 1st Qu.:120.0 1st Qu.:100 1st Qu.: 3.000 Тяга : 22 Женщина: 9
## Median :145.0 Median :125 Median : 5.000 Присед: 24
## Mean :152.6 Mean :129 Mean : 6.636
## 3rd Qu.:190.0 3rd Qu.:150 3rd Qu.: 9.000
## Max. :300.0 Max. :250 Max. :20.000
##
## Experience Age Weight Height BodyType
## До двух лет :31 Min. :15 Min. : 47.00 Min. :155 Эктоморф:34
## 2-3 года :28 1st Qu.:21 1st Qu.: 78.00 1st Qu.:170 Мезоморф:46
## 4-5 лет :45 Median :27 Median : 87.00 Median :177 Эндоморф:82
## 6-10 лет :32 Mean :28 Mean : 89.59 Mean :177
## больше 10 лет:26 3rd Qu.:33 3rd Qu.:102.75 3rd Qu.:183
## Max. :62 Max. :160.00 Max. :198
##
## CountGroup AgeGroup IndexGroup
## 2-3 :47 <20 :30 выраженный дефицит: 0
## 4-6 :51 20-27:55 дефицит : 0
## 7-10 :41 28-35:50 норма :36
## 11-20:23 >35 :27 избыток :66
## >20 : 0 ожирение1 :42
## ожирение2 :12
## ожирение3 : 6
Перечислим основные идеи об особенностях данных, сказанные ранее:
Любые полученные результаты следует обобщать на женщин, так как в опросе они почти не участвовали. Возможно, ради точности вычислений даже придётся убрать женщин из выборки;
Эндоморфы среди пауэрлифтеров встречаются чаще мезоморфов или эктоморфов. При этом у эндоморфов значимо чаще встречается “ожирение первой стадии”, чем у представителей других телосложений;
Результаты в приседе и тяге растут с увеличением индекса массы тела лишь до некоторого порога. Увеличение индекса массы тела выше “ожирения первой стадии” не будет полезным;
Сильная корреляция между индексом массы тела и повторным максимумом наблюдается у мезофорфов – в жиме, у эктоморфов – в тяге, у эндоморфов – в приседе;
Не обнаружено значимой разницы значений \(\frac{MRM}{RM}\) для разных телосложений, движений, групп по индексу массы, опыта, возраста для любого конкретного числа повторений или диапазона повторений (но при этом обнаружилась разница между движениями для диапазонов повторений до 10); процентовки от National Strength and Conditioning Association (NSCA) с небольшими погрешностями верны для всех спортсменов и всех движений;
Разбиение наблюдений на группы по диапазону повторений (который сделан согласовано с физиологическими соображениями) должно значительно повысить точность модели, причем для числа повторений до 10-20 эта модель крайне близка к линейной;
Наблюдения свыше 20 повторений не будут учитываться, так как их мало, вдобавок этот диапазон слабо коррелирует с абсолютной силой;
При более чем 10 повторений опытные спортсмены способны поднимать более близкие к максимальным веса, чем неопытные.
Соображения о предикторах для модели:
\(RM\) (повторный максимум) обязательно зависит как от \(MRM\) (многоповторный максимум) и \(Count\) (числа повторений), так и от \(CountGroup\) – группы по числу повторений;
\(RM\) может зависеть также от \(BodyType\) (типа телосложения) и \(Action\) (упражнения) либо от их бинарных модификаций (например, если людей разделить не на 3 телосложения, а на эндоморфов и нет); возможно, стоит также попробовать учесть индекс массы тела или собственно вес, имеющие корреляцию с \(RM\) не меньше 0.5.
Дальнейшие действия:
Просмотреть, как работает модель Лилли, и на её примере ознакомиться с шаблоном по оценке качества, который будет использоваться для оценки следующих моделей.
Построить разные модели для оценки конкретно \(RM\) и выбрать ту, которая более проста и даёт меньшую ошибку кросвалидации.
Аналогично построить модели для \(\frac{MRM}{RM}\) и выбрать лучшую.
Сравнить две выбранные модели и определить лучшую из них.
Вычислительные возможности позволяют создать огромное количество моделей. Цель исследователя – предложить несколько вариантов и выбрать среди них лучший. Кроме этого, нужно посмотреть, как работает модель на разных группах данных, чтобы обнаружить выбросы или обнаружить, что на такой-то группе модель вообще не может работать, из-за чего такую группу придётся исключить.
Итак, в модели представляют интерес следующие показатели:
ошибки в разных группах данных;
выбросы и влиятельные наблюдения;
статистическая значимость модели;
оценки кросс-валидации.
Применив формулу \(RM=MRM \cdot(1+0.0333 \cdot Count)\) ко всем наблюдениям, получим оценки \(RM\) (Fact), которые будут отличаться от истинного \(RM\) (Target). Разница между этими величинами – остатки. Для модели Лилли остаки будут следующие:
## [1] 0
Здесь такая логика: чем лучше модель, тем “ящики” тоньше и тем их середины ближе к 0.
В данном случае видно, что модель Лилли хорошо работает почти на всех данных из диапазона 2-3 и на немалой части данных из диапазона 4-6. Для большего числа повторений модель даёт завышенные оценки.
Если посмотреть на численные ошибки
## # A tibble: 144 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 283 230 170*~ 53.2 23.1 Тяга Мужч~ 25 82 11-20
## 2 333 290 200*~ 43.2 14.9 Тяга Мужч~ 28 107 11-20
## 3 200 160 120*~ 39.9 24.9 Жим Мужч~ 22 115 11-20
## 4 255 220 170*~ 34.9 15.9 Присед Мужч~ 60 90 11-20
## 5 240 205 150*~ 34.9 17.0 Жим Мужч~ 32 110 11-20
## 6 262 230 175*~ 32.4 14.1 Присед Мужч~ 29 92 11-20
## 7 180 150 120*~ 29.9 20.0 Жим Мужч~ 37 87 11-20
## 8 154 130 110*~ 24.0 18.4 Присед Мужч~ 62 80 11-20
## 9 157 135 100*~ 21.6 16.0 Жим Мужч~ 29 75 11-20
## 10 210 190 150*~ 19.9 10.5 Жим Мужч~ 28 105 11-20
## # ... with 134 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 53.22
## ------------> Наибольшая ошибка в меньшую сторону: 17.018
## Модель ошиблась более чем на 5 % в 48 случаях из 162 ( 29.62963 %)
## Модель ошиблась более чем на 5 кг в 69 случаях из 162 ( 42.59259 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.009091 1.466058 2.895000 4.466610 6.231771 24.950000
## -------------------> Среднеквадратичная ошибка: 10.79902
увидим, что модель заметно ошибается в 70% случаев и в среднем на почти 5%. Первые формулы Мориса и Райдина показывают худший результат:
## # A tibble: 140 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 214 160 120*~ 54.5 34.1 Жим Мужч~ 22 115 11-20
## 2 252 205 150*~ 47.2 23.0 Жим Мужч~ 32 110 11-20
## 3 245 285 220*8 40.3 14.1 Присед Мужч~ 35 90 7-10
## 4 172 210 150*~ 38.1 18.1 Присед Мужч~ 42 100 7-10
## 5 185 220 150*~ 34.6 15.7 Присед Мужч~ 35 100 11-20
## 6 184 150 120*~ 34.1 22.7 Жим Мужч~ 37 87 11-20
## 7 209 242. 180*~ 33.1 13.6 Тяга Мужч~ 19 78 11-20
## 8 194 225 180*6 30.7 13.7 Тяга Мужч~ 21 90 4-6
## 9 270 300 250*6 30.2 10.1 Присед Мужч~ 28 117 4-6
## 10 180 210 152.~ 29.9 14.2 Тяга Мужч~ 20 85 11-20
## # ... with 130 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 54.49607
## ------------> Наибольшая ошибка в меньшую сторону: 40.32727
## Модель ошиблась более чем на 5 % в 71 случаях из 162 ( 43.82716 %)
## Модель ошиблась более чем на 5 кг в 92 случаях из 162 ( 56.79012 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.03358 1.89439 4.28278 5.81013 8.61114 34.06004
## -------------------> Среднеквадратичная ошибка: 13.73176
На самом деле это две формулы вида
\[\log \left(\frac{RM}{MRM}\right)= a+b \cdot Count,\]
где \(a,b\) зависят от того, к какой части тела относится упражнение. Сама идея сделать логарифмическое преобразование используется нередко, но здесь это имеет негативный эффект: \(R^2\) равен далеко не 0.99, как сказано на сайте:
##
## Call:
## lm(formula = log(RM/MRM) ~ Action2 + Count:Action2, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.119692 -0.029770 0.000735 0.026167 0.125513
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.064723 0.011619 5.570 1.07e-07 ***
## Action2Up -0.021852 0.013946 -1.567 0.119
## Action2Down:Count 0.017015 0.001341 12.687 < 2e-16 ***
## Action2Up:Count 0.018225 0.001013 17.994 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.04448 on 158 degrees of freedom
## Multiple R-squared: 0.7585, Adjusted R-squared: 0.7539
## F-statistic: 165.4 on 3 and 158 DF, p-value: < 2.2e-16
Скорее всего, формулы Мориса и Райдина подгонялись на маленькой выборке или на выборке, в которой почти все данные принадлежали нескольким людям.
Теперь возьмём модель вида \(RM=MRM \cdot(a+b \cdot Count)\) и подберём коэффициенты \(a,b\) лучшим образом. В итоге:
## # A tibble: 141 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 189 210 150*~ 21.5 10.2 Присед Мужч~ 42 100 7-10
## 2 249 230 170*~ 19.3 8.41 Тяга Мужч~ 25 82 11-20
## 3 267 285 220*8 17.7 6.22 Присед Мужч~ 35 90 7-10
## 4 176 160 120*~ 16.0 10.0 Жим Мужч~ 22 115 11-20
## 5 204 220 150*~ 15.7 7.15 Присед Мужч~ 35 100 11-20
## 6 100 115 70*18 15.3 13.3 Жим Мужч~ 16 70 11-20
## 7 200 215 180*3 15.2 7.07 Присед Мужч~ 20 84 2-3
## 8 211 225 180*6 13.9 6.16 Тяга Мужч~ 21 90 4-6
## 9 163 150 120*~ 13.4 8.94 Жим Мужч~ 37 87 11-20
## 10 143 130 110*~ 12.9 9.90 Присед Мужч~ 62 80 11-20
## # ... with 131 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 19.33226
## ------------> Наибольшая ошибка в меньшую сторону: 21.46997
## Модель ошиблась более чем на 5 % в 39 случаях из 162 ( 24.07407 %)
## Модель ошиблась более чем на 5 кг в 66 случаях из 162 ( 40.74074 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.001034 1.344302 3.072494 3.463881 4.816583 13.279030
## -------------------> Среднеквадратичная ошибка: 6.656834
## Оценка кросс-валидации для всего набора данных 45.30663
## Оценка кросс-валидации для не более чем 10 повторений 33.24569
## Оценка кросс-валидации для не более чем 6 повторений 30.52595
## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
##
##
## Call:
## lm(formula = RM ~ MRM + MRM:Count - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -19.3323 -4.3200 -0.4872 3.9362 21.4700
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## MRM 1.0470734 0.0067757 154.53 <2e-16 ***
## MRM:Count 0.0209793 0.0008774 23.91 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.698 on 160 degrees of freedom
## Multiple R-squared: 0.9983, Adjusted R-squared: 0.9983
## F-statistic: 4.664e+04 on 2 and 160 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma::gvlma(x = mdl)
##
## Value p-value Decision
## Global Stat 15.1022 0.004494 Assumptions NOT satisfied!
## Skewness 3.1467 0.076078 Assumptions acceptable.
## Kurtosis 1.9628 0.161218 Assumptions acceptable.
## Link Function 0.2725 0.601627 Assumptions acceptable.
## Heteroscedasticity 9.7202 0.001823 Assumptions NOT satisfied!
##
## -----> БАЗОВЫЕ ГРАФИКИ:
##
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
##
##
## Shapiro-Wilk normality test
##
## data: mdl$residuals
## W = 0.98782, p-value = 0.1726
## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
##
## MRM MRM:Count
## 3.057194 3.057194
##
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
##
## lag Autocorrelation D-W Statistic p-value
## 1 0.07681102 1.839824 0.304
## Alternative hypothesis: rho != 0
##
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 118 3.325731 0.0010952 0.17741
## StudRes Hat CookD
## 80 -2.4914153 0.05095927 0.16139562
## 118 3.3257305 0.01271721 0.06702101
## 135 -3.1286456 0.10227243 0.52853540
## 155 -0.5357005 0.14155353 0.02376629
## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## # A tibble: 4 x 16
## RM MRM Count Action Sex Experience Age Weight Height BodyType
## <dbl> <dbl> <dbl> <fct> <fct> <ord> <dbl> <dbl> <dbl> <fct>
## 1 290 200 20 Тяга Мужч~ 6-10 лет 28 107 185 Эндоморф
## 2 230 170 20 Тяга Мужч~ 6-10 лет 25 82 178 Эндоморф
## 3 210 150 10 Присед Мужч~ больше 10~ 42 100 183 Мезоморф
## 4 160 120 20 Жим Мужч~ 4-5 лет 22 115 195 Эндоморф
## # ... with 6 more variables: CountGroup <fct>, AgeGroup <fct>, Index <dbl>,
## # IndexGroup <fct>, Body2 <fct>, Action2 <fct>
Выше приведена вся необходимая информация о качестве модели (назовём эту модель \(b_1\)). Из неё важнее всего следующее:
На выборочных данных модель ошибается максимум на 21кг и 13%;
В среднем модель ошибается на 3%;
В 75% случаев ошибка не превышала 5%;
Наибольший разброс ошибок приходится на диапазон 11-20;
Модель статистически значима и удовлетворяет всем нужным требованиям, кроме гетероскедастичности;
Немало больших ошибок приходится на диапазон 11-20 повторений, содержащий меньше всего наблюдений.
Теперь сделаем поправку для коэффициентов \(a,b\) в зависимости от факторных переменных. Путём подбора удалось найти две схожие модели (назовём их \(b_2\) и \(b_3\)), немного отличающиеся оценками кросс-валидации на разных диапазонах. Поскольку на диапазоне повторений 11-20 по-прежнему сохранялись сильные ошибки, было принято решение удалить этот диапазон (также это можно обосновать тем, что на этом диапазоне меньше данных и сложнее отлавливать выбросы, да и физиологически он не так тесно связан с силой, как другие).
Далее приведён анализ для модели \(RM=MRM \cdot(a+b \cdot Count)\), в которой и \(a\) и \(b\) имеют поправку на диапазон повторений.
## # A tibble: 112 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 192 210 150*~ 18.2 8.69 Присед Мужч~ 42 100 7-10
## 2 199 215 180*3 15.7 7.29 Присед Мужч~ 20 84 2-3
## 3 271 285 220*8 14.3 5.00 Присед Мужч~ 35 90 7-10
## 4 142 130 120*6 12.5 9.59 Жим Мужч~ 21 98 4-6
## 5 237 225 200*6 12.4 5.53 Жим Мужч~ 39 102 4-6
## 6 107 95 90*6 11.8 12.5 Жим Мужч~ 22 74 4-6
## 7 214 225 180*6 11.3 5.03 Тяга Мужч~ 21 90 4-6
## 8 199 210 180*3 10.7 5.08 Присед Мужч~ 29 125 2-3
## 9 141 130 110*~ 10.6 8.17 Жим Мужч~ 18 100 7-10
## 10 151 140 120*9 10.5 7.53 Жим Мужч~ 35 77 7-10
## # ... with 102 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 12.46227
## ------------> Наибольшая ошибка в меньшую сторону: 18.24883
## Модель ошиблась более чем на 5 % в 28 случаях из 139 ( 20.14388 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00977 0.91712 2.53843 2.98739 4.29788 12.47021
## -------------------> Среднеквадратичная ошибка: 5.529521
## Оценка кросс-валидации для всего набора данных 35.59648
## Оценка кросс-валидации для не более чем 10 повторений 34.01066
## Оценка кросс-валидации для не более чем 6 повторений 29.93558
## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
##
##
## Call:
## lm(formula = RM ~ MRM:Count:CountGroup + MRM:CountGroup - 1,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.4623 -3.6210 -0.1014 2.5825 18.2488
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## MRM:CountGroup2-3 0.988699 0.029669 33.324 < 2e-16 ***
## MRM:CountGroup4-6 0.997533 0.035651 27.981 < 2e-16 ***
## MRM:CountGroup7-10 1.039799 0.055896 18.603 < 2e-16 ***
## MRM:Count:CountGroup2-3 0.039572 0.011331 3.492 0.000650 ***
## MRM:Count:CountGroup4-6 0.031609 0.007065 4.474 1.63e-05 ***
## MRM:Count:CountGroup7-10 0.023854 0.006434 3.708 0.000306 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.653 on 133 degrees of freedom
## Multiple R-squared: 0.9987, Adjusted R-squared: 0.9987
## F-statistic: 1.768e+04 on 6 and 133 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma::gvlma(x = mdl)
##
## Value p-value Decision
## Global Stat 8.359 0.07929 Assumptions acceptable.
## Skewness 2.795 0.09455 Assumptions acceptable.
## Kurtosis 2.394 0.12180 Assumptions acceptable.
## Link Function -2.689 1.00000 Assumptions acceptable.
## Heteroscedasticity 5.858 0.01550 Assumptions NOT satisfied!
##
## -----> БАЗОВЫЕ ГРАФИКИ:
##
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
##
##
## Shapiro-Wilk normality test
##
## data: mdl$residuals
## W = 0.98086, p-value = 0.0484
## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
##
## GVIF Df GVIF^(1/(2*Df))
## MRM:CountGroup 60763.96 3 6.270098
## MRM:Count:CountGroup 60763.96 3 6.270098
##
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
##
## lag Autocorrelation D-W Statistic p-value
## 1 -0.0176863 2.032798 0.896
## Alternative hypothesis: rho != 0
##
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 107 3.53666 0.00055969 0.077797
## StudRes Hat CookD
## 107 3.53666048 0.09471553 2.007389e-01
## 117 2.93227669 0.05581455 8.013469e-02
## 122 -0.01923107 0.13639036 9.808402e-06
## 136 2.73268128 0.10629953 1.411707e-01
## 139 0.61955380 0.16715187 1.289938e-02
## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## # A tibble: 5 x 16
## RM MRM Count Action Sex Experience Age Weight Height BodyType
## <dbl> <dbl> <dbl> <fct> <fct> <ord> <dbl> <dbl> <dbl> <fct>
## 1 300 250 6 Присед Мужч~ больше 10~ 28 117 193 Эктоморф
## 2 285 220 8 Присед Мужч~ больше 10~ 35 90 173 Эктоморф
## 3 230 180 10 Присед Мужч~ 4-5 лет 24 104 182 Эндоморф
## 4 215 180 3 Присед Мужч~ 4-5 лет 20 84 167 Эндоморф
## 5 210 150 10 Присед Мужч~ больше 10~ 42 100 183 Мезоморф
## # ... with 6 more variables: CountGroup <fct>, AgeGroup <fct>, Index <dbl>,
## # IndexGroup <fct>, Body2 <fct>, Action2 <fct>
Аналогичные выводы:
На выборочных данных модель ошибается максимум на 18кг и 13%;
В среднем модель ошибается на 3%;
В 80% случаев ошибка не превышала 5%;
Наибольший разброс ошибок приходится на диапазон 4-6;
Модель статистически значима и удовлетворяет всем нужным требованиям, кроме гетероскедастичности;
Путём пошагового отбора переменных были найдены ещё две равнозначные модели (\(b_4\) и \(b_5\)), которые, несмотря на большую сложность в сравнении с предыдущими, имеют лучшие оценки при кросс-валидации.
Статистика по одной из этих моделей:
## # A tibble: 115 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 196 210 150*~ 13.9 6.62 Присед Мужч~ 42 100 7-10
## 2 142 130 120*6 12.1 9.31 Жим Мужч~ 21 98 4-6
## 3 107 95 90*6 11.6 12.2 Жим Мужч~ 22 74 4-6
## 4 161 172 140*5 11.5 6.68 Жим Мужч~ 27 83 4-6
## 5 104 115 85*8 11.0 9.57 Жим Мужч~ 25 76 7-10
## 6 205 215 180*3 10.1 4.70 Присед Мужч~ 20 84 2-3
## 7 100 110 90*4 9.89 8.99 Жим Мужч~ 15 60 4-6
## 8 90 100 70*10 9.80 9.80 Тяга Мужч~ 16 63 7-10
## 9 137 128. 120*3 9.77 7.66 Присед Женщ~ 32 72 2-3
## 10 235 225 200*6 9.60 4.27 Жим Мужч~ 39 102 4-6
## # ... with 105 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 12.09735
## ------------> Наибольшая ошибка в меньшую сторону: 13.90043
## Модель ошиблась более чем на 5 % в 21 случаях из 139 ( 15.10791 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.01759 0.94961 2.08660 2.83833 3.94832 12.31595
## -------------------> Среднеквадратичная ошибка: 5.026615
## Оценка кросс-валидации для всего набора данных 29.39117
## Оценка кросс-валидации для не более чем 10 повторений 29.90207
## Оценка кросс-валидации для не более чем 6 повторений 26.91572
## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
##
##
## Call:
## lm(formula = RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action +
## MRM:CountGroup:Count - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.0974 -3.2898 -0.1568 3.0781 13.9004
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## I((MRM/Index)^6) -2.989e-05 1.125e-05 -2.657 0.00887 **
## MRM:CountGroup2-3 9.963e-01 2.848e-02 34.984 < 2e-16 ***
## MRM:CountGroup4-6 9.711e-01 3.401e-02 28.558 < 2e-16 ***
## MRM:CountGroup7-10 1.077e+00 5.195e-02 20.738 < 2e-16 ***
## MRM:ActionТяга 2.893e-02 1.014e-02 2.854 0.00502 **
## MRM:ActionПрисед 4.984e-02 9.648e-03 5.166 8.78e-07 ***
## MRM:CountGroup2-3:Count 3.325e-02 1.067e-02 3.116 0.00226 **
## MRM:CountGroup4-6:Count 3.578e-02 6.842e-03 5.229 6.62e-07 ***
## MRM:CountGroup7-10:Count 1.833e-02 6.011e-03 3.050 0.00278 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.198 on 130 degrees of freedom
## Multiple R-squared: 0.999, Adjusted R-squared: 0.9989
## F-statistic: 1.395e+04 on 9 and 130 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma::gvlma(x = mdl)
##
## Value p-value Decision
## Global Stat 2.19263 0.7004 Assumptions acceptable.
## Skewness 0.36972 0.5432 Assumptions acceptable.
## Kurtosis 0.02639 0.8710 Assumptions acceptable.
## Link Function 1.38357 0.2395 Assumptions acceptable.
## Heteroscedasticity 0.41295 0.5205 Assumptions acceptable.
##
## -----> БАЗОВЫЕ ГРАФИКИ:
##
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
##
##
## Shapiro-Wilk normality test
##
## data: mdl$residuals
## W = 0.99366, p-value = 0.7982
## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
##
## GVIF Df GVIF^(1/(2*Df))
## I((MRM/Index)^6) 2.561915 1 1.600598
## MRM:CountGroup 72443.114733 3 6.456535
## MRM:Action 2.898866 2 1.304839
## MRM:CountGroup:Count 72727.913065 3 6.460759
##
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
##
## lag Autocorrelation D-W Statistic p-value
## 1 0.05025135 1.898978 0.482
## Alternative hypothesis: rho != 0
##
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 107 2.939544 0.003896 0.54155
## StudRes Hat CookD
## 67 -2.4292576 0.04745956 0.03148271
## 107 2.9395444 0.12364895 0.12794568
## 135 1.1939398 0.34047677 0.08150057
## 136 2.0484146 0.21288703 0.12307151
## 137 -0.6896425 0.40079089 0.03548954
## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
##
## # A tibble: 5 x 16
## RM MRM Count Action Sex Experience Age Weight Height BodyType
## <dbl> <dbl> <dbl> <fct> <fct> <ord> <dbl> <dbl> <dbl> <fct>
## 1 285 220 8 Присед Мужч~ больше 10~ 35 90 173 Эктоморф
## 2 262 220 6 Тяга Мужч~ больше 10~ 33 89 184 Эктоморф
## 3 240 225 3 Тяга Мужч~ больше 10~ 36 87 180 Эктоморф
## 4 210 150 10 Присед Мужч~ больше 10~ 42 100 183 Мезоморф
## 5 130 120 6 Жим Мужч~ 2-3 года 21 98 188 Эндоморф
## # ... with 6 more variables: CountGroup <fct>, AgeGroup <fct>, Index <dbl>,
## # IndexGroup <fct>, Body2 <fct>, Action2 <fct>
Аналогичные выводы:
На выборочных данных модель ошибается максимум на 13кг и 12%;
В среднем модель ошибается на менее 3%;
В 85% случаев ошибка не превышала 5%;
В целом, на каждом диапазоне имеется почти одинаковый разброс;
Модель статистически значима и удовлетворяет всем нужным требованиям.
В результате перекрёстной проверки для всех моделей при числе блоков 5, 6, 7, 8, 9, 10, 11, 12 было обнаружено, что модель \(b_5\) значительно превосходит остальные модели, причём это верно, если делать проверку как на всём диапазоне повторений (2-10), так и на более близком к силовому диапазоне 2-7:
На втором месте после модели \(b_5\) идёт более простая модель \(b_3\). Что это за модели? Посмотрим на модель \(b_3\):
##
## Call:
## lm(formula = RM ~ MRM:Count:CountGroup + MRM:Action - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11.1658 -3.3898 0.0727 3.0208 13.5361
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## MRM:ActionЖим 0.998895 0.019934 50.111 < 2e-16 ***
## MRM:ActionТяга 1.012918 0.020963 48.320 < 2e-16 ***
## MRM:ActionПрисед 1.036228 0.021859 47.406 < 2e-16 ***
## MRM:Count:CountGroup2-3 0.031222 0.007776 4.015 9.86e-05 ***
## MRM:Count:CountGroup4-6 0.029581 0.004048 7.308 2.26e-11 ***
## MRM:Count:CountGroup7-10 0.027353 0.002420 11.301 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.31 on 133 degrees of freedom
## Multiple R-squared: 0.9989, Adjusted R-squared: 0.9988
## F-statistic: 2.004e+04 on 6 and 133 DF, p-value: < 2.2e-16
Она имеет вид \[RM=MRM \cdot (Action_{coef}+CountGroup_{coef} \cdot Count),\] где \(Action_{coef}\) равен 0.9988949 для жима, 1.0129181 для тяги и 1.0362281 для приседа, а \(CountGroup_{coef}\) есть поправка на диапазон повторений, равная 0.0312223 для диапазона 2-3, 0.0295811 – для 4-6 и 0.0273531 – для 7-10. Как видно, первые три коэффициента близки к единице, однако различия между ними имеют значение; заметим также, что поправка на диапазон повторений 2-3 довольно близка к коэффициенту Лилли (0.0333).
Кстати, по точности модель \(b_3\) превосходит вторую модель Мориса (ту, что выражена таблицами для каждого движения):
# модель Мориса
sq = c(1, 1.0475, 1.13, 1.1575, 1.2, 1.242, 1.284, 1.326, 1.368, 1.41)
pr = c(1, 1.035, 1.08, 1.115, 1.15, 1.18, 1.22, 1.255, 1.29, 1.325)
lf = c(1, 1.065, 1.13, 1.147, 1.164, 1.181, 1.198, 1.232, 1.236, 1.24)
rlt = data$MRM * (sq[data$Count] * ifelse(data$Action == "Жим", 1, 0) + pr[data$Count] *
ifelse(data$Action == "Присед", 1, 0) + lf[data$Count] * ifelse(data$Action ==
"Тяга", 1, 0))
Show(rlt)
## # A tibble: 122 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 155 130 110*~ 25.1 19.3 Жим Мужч~ 18 100 7-10
## 2 164 140 120*9 24.2 17.3 Жим Мужч~ 35 77 7-10
## 3 248 225 200*6 23.4 10.4 Жим Мужч~ 39 102 4-6
## 4 183 160 130*~ 23.3 14.6 Жим Мужч~ 20 130 7-10
## 5 194 215 180*3 20.6 9.58 Присед Мужч~ 20 84 2-3
## 6 149 130 120*6 19.0 14.6 Жим Мужч~ 21 98 4-6
## 7 239 220 180*8 18.7 8.49 Жим Мужч~ 38 160 7-10
## 8 123 105 90*9 18.1 17.3 Жим Мужч~ 16 54 7-10
## 9 197 180 140*~ 17.4 9.67 Жим Мужч~ 30 105 7-10
## 10 162 145 115*~ 17.1 11.8 Жим Мужч~ 44 84 7-10
## # ... with 112 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 25.1
## ------------> Наибольшая ошибка в меньшую сторону: 20.6
## Модель ошиблась более чем на 5 % в 60 случаях из 139 ( 43.16547 %)
## Модель ошиблась более чем на 5 кг в 80 случаях из 139 ( 57.55396 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.006 4.325 5.282 7.386 19.308
## -------------------> Среднеквадратичная ошибка: 9.482539
# модель b3
b3 = lm(RM ~ MRM:Count:CountGroup + MRM:Action - 1, data)
b3 %>% predict(data) %>% Show()
## # A tibble: 114 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 196 210 150*~ 13.5 6.45 Присед Мужч~ 42 100 7-10
## 2 203 215 180*3 11.6 5.40 Присед Мужч~ 20 84 2-3
## 3 104 115 85*8 11.5 9.99 Жим Мужч~ 25 76 7-10
## 4 161 172 140*5 11.4 6.66 Жим Мужч~ 27 83 4-6
## 5 141 130 120*6 11.2 8.59 Жим Мужч~ 21 98 4-6
## 6 106 95 90*6 10.9 11.4 Жим Мужч~ 22 74 4-6
## 7 214 225 180*6 10.7 4.77 Тяга Мужч~ 21 90 4-6
## 8 235 225 200*6 10.3 4.57 Жим Мужч~ 39 102 4-6
## 9 180 170 140*~ 10.1 5.94 Тяга Мужч~ 17 77 7-10
## 10 140 130 110*~ 9.97 7.67 Жим Мужч~ 18 100 7-10
## # ... with 104 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 11.16581
## ------------> Наибольшая ошибка в меньшую сторону: 13.53614
## Модель ошиблась более чем на 5 % в 21 случаях из 139 ( 15.10791 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.02251 1.03594 2.41179 2.89557 4.13407 11.44670
## -------------------> Среднеквадратичная ошибка: 5.194366
Тогда аналогичная таблица, на сколько нужно умножить свой вес для разного числа повторений, выглядит так:
Модель \(b_5\) имеет два дополнительных слагаемых:
##
## Call:
## lm(formula = RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action +
## MRM:CountGroup:Count - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.0974 -3.2898 -0.1568 3.0781 13.9004
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## I((MRM/Index)^6) -2.989e-05 1.125e-05 -2.657 0.00887 **
## MRM:CountGroup2-3 9.963e-01 2.848e-02 34.984 < 2e-16 ***
## MRM:CountGroup4-6 9.711e-01 3.401e-02 28.558 < 2e-16 ***
## MRM:CountGroup7-10 1.077e+00 5.195e-02 20.738 < 2e-16 ***
## MRM:ActionТяга 2.893e-02 1.014e-02 2.854 0.00502 **
## MRM:ActionПрисед 4.984e-02 9.648e-03 5.166 8.78e-07 ***
## MRM:CountGroup2-3:Count 3.325e-02 1.067e-02 3.116 0.00226 **
## MRM:CountGroup4-6:Count 3.578e-02 6.842e-03 5.229 6.62e-07 ***
## MRM:CountGroup7-10:Count 1.833e-02 6.011e-03 3.050 0.00278 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.198 on 130 degrees of freedom
## Multiple R-squared: 0.999, Adjusted R-squared: 0.9989
## F-statistic: 1.395e+04 on 9 and 130 DF, p-value: < 2.2e-16
Её вид, аналогично:
\[RM=MRM \cdot (CountGroup_{coef_2} +Action_{coef}+CountGroup_{coef_1} \cdot Count)+coef \cdot\left(\frac{MRM}{Index}\right)^6\] Здесь \(coef\) при последнем слагаемом равен -0.0000299, \(Index\) – индекс массы тела. Дробь внутри последнего слагаемого можно упростить:
\[\frac{MRM}{Index}=\frac{MRM \cdot (0.01 \cdot Height)^2}{Weight}=\frac{MRM \cdot Height^2}{10000\cdot Weight}\] Вообще существование этого слагаемого (с шестой степенью) кажется чем-то очень сомнительным, но математика показывает, что это имеет смысл. Результаты дисперсионного анализа говорят о том, что включение указанного коэффициента создаёт значимое отличие между моделями с ним и без него:
anova(lm(RM ~ MRM:CountGroup + MRM:Action + MRM:CountGroup:Count - 1, data = data),
lm(RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action + MRM:CountGroup:Count -
1, data = data))
Очень интересно, что в этих двух моделях нет зависимости от возраста, типа телосложения, опыта и пола6. Конечно, нельзя рассмотреть всевозможные вариации таких моделей, но среди сотни рассмотренных (в том числе с помощью пакета caret) не было обнаружено доказательств значимости включения этих факторов в модель.
Как итог, для определения ПМ нужны лишь следующие данные:
МПМ;
Число повторений;
Движение;
Рост и вес спортсмена.
В этом разделе происходит построение нелинейных моделей для предсказания повторных максимумов, проверяются формулы МакГлотина, Ломбарди и другие нелинейные формулы. Оценка качества моделей происходит по аналогичным принципам, то есть значение имеют:
точность моделей при перекрёстной проверке, чтобы их можно было сравнить и выбрать лучшую;
точность модели на обучающих данных, поскольку неточные модели не имеют пользы, даже если превосходят другие при перекрёстной проверке;
простота модели.
Сначала рассматриваются отдельные классы моделей из указанной выше ссылки и мои предложения, затем они сравниваются друг с другом и делаются выводы.
Модели Эпли, Вендлера и О’Коннора – это одна и та же модель вида \(RM=MRM \cdot(1+c \cdot Count)\) с разными значениями коэффициента \(c\). Как выяснилось, эти отличия обусловлены только тем, на каком разбросе повторений происходил подбор \(c\): значение из формулы О’Коннора наиболее оптимально, если формула должна примерно одинаково хорошо работать на не более чем 20 повторениях, а значение из формулы Эпли, предположительно, оптимально для 2-5 повторений:
vc = sapply(c(4, 8, 11, 21, 50), function(p) nls(RM ~ MRM * (1 + Count * coef), data = data.backup %>%
filter(Count < p), start = list(coef = 1/30)) %>% coef())
names(vc) = c(paste(rep("not more", 4), levels(data$CountGroup)[1:4]), "all")
# коэффициент на разном числе повторений
vc
## not more 2-3 not more 4-6 not more 7-10 not more 11-20 all
## 0.03533385 0.03144874 0.02991780 0.02597967 0.02475472
Обучив такую модель (с названием \(n_1\)) для диапазона повторений 2-10, получим следующие результаты:
##
## Formula: RM ~ MRM * (1 + Count * coef)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## coef 0.035334 0.001879 18.8 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.96 on 46 degrees of freedom
##
## Number of iterations to convergence: 1
## Achieved convergence tolerance: 6.963e-09
##
## # A tibble: 124 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 189 170 140*~ 19.5 11.5 Тяга Мужч~ 17 77 7-10
## 2 149 130 110*~ 18.9 14.5 Жим Мужч~ 18 100 7-10
## 3 158 140 120*9 18.2 13.0 Жим Мужч~ 35 77 7-10
## 4 242 225 200*6 17.4 7.73 Жим Мужч~ 39 102 4-6
## 5 176 160 130*~ 15.9 9.96 Жим Мужч~ 20 130 7-10
## 6 199 215 180*3 15.9 7.40 Присед Мужч~ 20 84 2-3
## 7 145 130 120*6 15.4 11.9 Жим Мужч~ 21 98 4-6
## 8 109 95 90*6 14.1 14.8 Жим Мужч~ 22 74 4-6
## 9 119 105 90*9 13.6 13.0 Жим Мужч~ 16 54 7-10
## 10 244 230 180*~ 13.6 5.91 Присед Мужч~ 24 104 7-10
## # ... with 114 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 19.46739
## ------------> Наибольшая ошибка в меньшую сторону: 15.91972
## Модель ошиблась более чем на 5 % в 42 случаях из 139 ( 30.21583 %)
## Модель ошиблась более чем на 5 кг в 64 случаях из 139 ( 46.04317 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0624 1.5126 3.1115 3.9177 5.2597 14.8213
## -------------------> Среднеквадратичная ошибка: 7.006946
Модели Бжицки и МакГлотина – это тоже одна и та же модель вида
\[RM=MRM \cdot \frac{a}{b-Count}\] с разными \(a, b\). Обучив такую модель (с названием \(n_2\)) для диапазона повторений 2-10, получим более точную модель:
##
## Formula: RM ~ MRM * a/(b - Count)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## a 53.332 2.905 18.36 <2e-16 ***
## b 51.364 2.507 20.49 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.676 on 137 degrees of freedom
##
## Number of iterations to convergence: 4
## Achieved convergence tolerance: 3.629e-07
##
## # A tibble: 114 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 193 210 150*~ 16.6 7.90 Присед Мужч~ 42 100 7-10
## 2 198 215 180*3 16.5 7.68 Присед Мужч~ 20 84 2-3
## 3 271 285 220*8 14.4 5.06 Присед Мужч~ 35 90 7-10
## 4 212 225 180*6 13.4 5.95 Тяга Мужч~ 21 90 4-6
## 5 188 200 160*6 11.9 5.95 Тяга Мужч~ 33 120 4-6
## 6 142 130 110*~ 11.8 9.10 Жим Мужч~ 18 100 7-10
## 7 198 210 180*3 11.5 5.48 Присед Мужч~ 29 125 2-3
## 8 141 130 120*6 11.1 8.52 Жим Мужч~ 21 98 4-6
## 9 151 140 120*9 11.1 7.91 Жим Мужч~ 35 77 7-10
## 10 161 172 140*5 11.0 6.37 Жим Мужч~ 27 83 4-6
## # ... with 104 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 11.8292
## ------------> Наибольшая ошибка в меньшую сторону: 16.59654
## Модель ошиблась более чем на 5 % в 26 случаях из 139 ( 18.70504 %)
## Модель ошиблась более чем на 5 кг в 47 случаях из 139 ( 33.81295 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.02678 0.96765 2.70607 3.04275 4.42815 11.37884
## -------------------> Среднеквадратичная ошибка: 5.634673
Аналогично модели Мэйхью и Ватана — это вариации модели
\[RM=\frac{100 \cdot MRM}{a+b\cdot e^{-c\cdot Count}}\] Обучив такую модель (\(n_3\)), получим примерно такие же результаты, как у \(n_2\):
##
## Formula: RM ~ 100 * MRM/(a + b * exp(-c * Count))
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## a 64.58492 10.60647 6.089 1.09e-08 ***
## b 34.58499 9.09511 3.803 0.000215 ***
## c 0.09229 0.04784 1.929 0.055807 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.619 on 136 degrees of freedom
##
## Number of iterations to convergence: 4
## Achieved convergence tolerance: 1.653e-06
##
## # A tibble: 114 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 192 210 150*~ 18.5 8.81 Присед Мужч~ 42 100 7-10
## 2 198 215 180*3 16.8 7.80 Присед Мужч~ 20 84 2-3
## 3 271 285 220*8 13.8 4.83 Присед Мужч~ 35 90 7-10
## 4 142 130 120*6 12.1 9.29 Жим Мужч~ 21 98 4-6
## 5 213 225 180*6 11.9 5.29 Тяга Мужч~ 21 90 4-6
## 6 237 225 200*6 11.8 5.24 Жим Мужч~ 39 102 4-6
## 7 198 210 180*3 11.8 5.61 Присед Мужч~ 29 125 2-3
## 8 107 95 90*6 11.6 12.2 Жим Мужч~ 22 74 4-6
## 9 151 140 120*9 10.6 7.61 Жим Мужч~ 35 77 7-10
## 10 89 100 70*10 10.6 10.6 Тяга Мужч~ 16 63 7-10
## # ... with 104 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 12.07219
## ------------> Наибольшая ошибка в меньшую сторону: 18.4967
## Модель ошиблась более чем на 5 % в 27 случаях из 139 ( 19.42446 %)
## Модель ошиблась более чем на 5 кг в 42 случаях из 139 ( 30.21583 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.007849 1.083213 2.518431 2.997736 4.243552 12.162256
## -------------------> Среднеквадратичная ошибка: 5.55823
Наконец, модель Ломбарди имеет вид \[RM=MRM \cdot Count^a\] Обучив её (\(n_4\)), получим примерно те же результаты (с параметром, очень близким к 0.1, предложенным Ломбарди):
##
## Formula: RM ~ MRM * Count^a
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## a 0.096835 0.001982 48.85 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.799 on 138 degrees of freedom
##
## Number of iterations to convergence: 2
## Achieved convergence tolerance: 1.583e-06
##
## # A tibble: 117 x 11
## Fact Target Set ERROR ErrorPercent Action Sex Age Weight CountGroup
## <dbl> <dbl> <fct> <dbl> <dbl> <fct> <fct> <dbl> <dbl> <fct>
## 1 187 210 150*~ 22.5 10.7 Присед Мужч~ 42 100 7-10
## 2 269 285 220*8 15.9 5.59 Присед Мужч~ 35 90 7-10
## 3 200 215 180*3 14.8 6.88 Присед Мужч~ 20 84 2-3
## 4 238 225 200*6 12.9 5.73 Жим Мужч~ 39 102 4-6
## 5 143 130 120*6 12.7 9.80 Жим Мужч~ 21 98 4-6
## 6 87 100 70*10 12.5 12.5 Тяга Мужч~ 16 63 7-10
## 7 107 95 90*6 12.1 12.7 Жим Мужч~ 22 74 4-6
## 8 172 160 150*4 11.6 7.22 Жим Мужч~ 15 84 4-6
## 9 104 115 85*8 11.0 9.60 Жим Мужч~ 25 76 7-10
## 10 214 225 180*6 10.9 4.84 Тяга Мужч~ 21 90 4-6
## # ... with 107 more rows, and 1 more variable: Index <dbl>
##
## ------------> Наибольшая ошибка в большую сторону: 12.89334
## ------------> Наибольшая ошибка в меньшую сторону: 22.53238
## Модель ошиблась более чем на 5 % в 28 случаях из 139 ( 20.14388 %)
## Модель ошиблась более чем на 5 кг в 50 случаях из 139 ( 35.97122 %)
## ----------------> Статистика по ошибкам в процентах:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.01727 1.28387 2.44399 3.13536 4.80735 12.68632
## -------------------> Среднеквадратичная ошибка: 5.778451
В результате проведённого исследования была найдена модель, не зависящая от типа телосложения, опыта тренировок и многих других характеристик, но при этом дающая хорошие результаты на 85% данных.
Я уверен, что большие погрешности в единичных случаях – это та часть закомерности, зависящая от человека и многих неучтённых характеристик. Тем не менее, влияние этих неучтённых факторов далеко не так велико, как предполагали многие: намного больше повторный максимум зависит от обычной математики.
Было продемонстрировано, что для числа повторений выше 10 нельзя построить достаточно точную модель (по крайней мере, при текущем наборе данных, ошибки в котором очень сложно распознать), но для диапазона 2-10 – ещё как можно.
Посчитать собственные результаты при помощи найденной модели можно здесь.
Теперь практически в любой момент тренировочного процесса7 спортсмен может оценить свой ПМ, не делая проходку. Отслеживание ПМ помогает оценить близость к намеченной цели и вообще наличие прогресса: иногда обстоятельства мешают уложиться в цикл (особенно если это третий цикл подряд) и вместо семи повторений может сделать только 5 — считаются ли эти пять повторений прогрессом? Так или иначе, можно сделать перерыв и начать новый цикл, основываясь уже на новых данных8.
Здесь всё интуитивно понятно. Для человека, например, моей комплекции (рост 170, вес 70) для приседа можно составить такую таблицу:
В этой таблице каждая строка обозначает одно и то же усилие, выраженное разным числом повторений. Если для человека верна какая-то ячейка (вес на число повторений), должна быть верна и вся строка.
Также тут можно проследить такую возможность: если в режиме на, например, 5 повторений вы взяли 80кг (80х5 эквивалентно 95.9485356), но смогли сделать с этим весом 8 повторений (что эквивалетно 101.8705815), то какой вес нужно взять, чтобы делать прежние 5 повторений? Из формулы следует, что 84.9497114.
Если вы ходите поднять свой \(RM\) на 15 кг, не обязательно ставить цель “в конце цикла поднять \(RM+15\) кг на раз”. Зная \(RM+15\), можно рассчитать свой целевой 2ПМ, 3ПМ или 4ПМ и стремиться к концу цикла достичь именно тех величин.
Известно, что невозможно постоянно увеличивать вес отягощений, так как рано или поздно спортсмен упрётся в тренировочное плато и может дойти до перетренированности, истощиться, заболеть, в результате чего произойдёт снижение силовых показателей. Основной способ обойти эту проблему и многие годы увеличивать силовые показатели — это циклирование (периодизация нагрузок). При этом даже сейчас циклы строятся больше на основе опыта (методом проб и ошибок) и интуиции, чем с использованием каких-то научных знаний. И хоть за последние полвека уже тысячи спортсменов доказали пользу нескольких моделей циклирования и разнообразия нагрузок, текущая ситуация далека от идеальной. Я считаю, что построенная ранее модель (или аналогичная ей) может сделать в этом направлении шаг вперёд.
Если раньше многие циклы записывались от силы таблицами в Excel и не всегда были понятны, то использование модели, отождествляющей повторный максимум с многоповторным, позволяет визуализировать зависимость “максимального усилия” от дня тренировки, то есть отождествить цикл с временным рядом. Дальнейшие исследования таких временных рядов позволит разработать циклы, близкие к идеальным, или хотя бы обнаружить ту составляющую в циклах, за счёт которых они работают, и отсеить те программы тренировок, которые не будут работать.
Таким образом, в будущем тренировочный процесс можно будет представить как последовательность нагрузок в разных режимах (в основном для тренировки разных мышечных волокон), которые требуют усилий, подчиняющихся определённым математически выраженным закономерностям.
Далее приводятся примеры визуализации нескольких циклов.
Возьмём очень простой цикл из тех, которые можно иногда применять в межсезонье. Он состоит их 7 тренировок, на который самый тяжёлый подход состаляет (при конкретных цифрах) 100x10, 120x4, 115x6, 105x10, 130x3, 120x6, 125x5 соответственно.
Если прогнать такой цикл через модель (в случае с приседом), получим такую динамику:
Аналогично для ещё нескольких циклов.
Сайт, где можно опробовать модель на себе
Русскоязычный опрос, англоязычный опрос. Если данных станет значительно больше, исследование повторится.
Раздел этой статьи на гитхабе, исходные датасеты, коды
Книги и материалы по пауэрлифтингу
Моя электронная почта: qtckpuhdsa@gmail.com
если будет доказано наличие гиперплазии (деления мышечных волокон) в скелетных мышцах человека, можно будет утверждать, что силовые тренировки увеличивают количество белых волокон в работающих мышцах↩
конечно, это лишь условные размышления без учёта особенностей отдельных частей тела и того, что ввиду усталости каждое следующее повторение делается дольше предыдущего. Важно лишь усвоить, что разные диапазоны повторений по-разному связаны с силой.↩
дело в том, что одни и те же люди могли вносить более одного ответа. В итоге два наблюдения считаются принадлежащими одному человеку, если они совпадают по переменным AgeGroup, Height, BodyType, Experience, Sex, IndexGroup (которые вряд ли изменятся за время между фиксацией разных наблюдений)↩
например, высокий импульс ЦНС, не соответствующий уровню креатинфосфата. В таком случае человек может на раз пожать большой вес, но на несколько раз уже недостаточно большой: при ПМ в 140 на 3 раза жмётся не почти 130, а 120↩
такую нижнюю границу можно предсказать, просто умножив вес примерно на 1.5, исследование же рассчитано на поиск верхней границы↩
по крайней мере, наблюдения от женщин, прошедших опрос, не становились выбросами для этих моделей, а хорошо вписывались во многие наблюдения, принадлежавшие мужчинам↩
разумеется, после тех тренировок, где происходит максимальное усилие: часто силовые циклы делят тренировки на тяжёлые и лёгкие, силовые и скоростные и т. п., но максимальное усилие, позволяющее оценить ПМ, совершается именно на тяжёлых силовых тренировках (и то – не всегда)↩
но также можно несколько тренировок уделить подсобным или родственным упражнениям, а потом вернуться к прежнему циклу↩